#ifndef ACTOR_HPP_INCLUDED
#define ACTOR_HPP_INCLUDED

#include "GameObject.hpp"
#include "TurnSchedule.hpp"
#include "Utils.hpp"
#include "Zone.hpp"

class Actor : public GameObject, public ITurnTaker
{
public:
	Actor(std::string name, unsigned int race);
	virtual ~Actor();
	
	virtual bool isAlive();
	virtual bool takeTurn();

	virtual unsigned int getSight();
	virtual unsigned int move(Vector2d offset);

	virtual void kill();
	virtual void setZone(Zone* area);

protected:
	bool Alive;

	unsigned int Race;

	Zone* Area;
};

#endif
